package com.xs.mcpserver.gitlab.model;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Map;

/**
 * 文件差异内容
 * 用于表示合并请求中文件的差异详情
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class FileDiffContent {
    /**
     * 文件的新路径
     * 如果文件被重命名，这将是重命名后的路径
     */
    private String newPath;
    
    /**
     * 文件的原始路径
     * 如果文件被重命名，这将是重命名前的路径
     */
    private String oldPath;
    
    /**
     * 文件的差异内容
     * 包含了文件变更的具体内容，通常是统一差异格式(unified diff format)
     */
    private String diff;
    
    /**
     * 文件的完整内容
     * 通常是变更后的文件内容
     */
    private String fileContent;
    
    /**
     * 上下文信息
     * 存储与文件差异相关的额外上下文信息，如行号、变更类型等
     */
    private Map<String, String> contextInfo;
}
